专利摘要:
第1のドキュメントを少なくとも第2のドキュメントとマージして第3のドキュメントを生成する方法およびシステムである。第1および第2のドキュメントはそれぞれ、少なくとも1つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられる。各ドキュメントのユニット識別子は、各ユニット識別子がマッチするユニット識別子であるかマッチしないユニット識別子であるかを判定するために、他方のドキュメントのユニット識別子と比較される。マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子は互いに比較される。マッチしないユニット識別子に関連付けられたデータ・ユニットは第3のドキュメントに直接挿入される。マッチするユニット識別子とマッチする編集識別子とに関連付けられたデータ・ユニットは第3のドキュメントに直接挿入される。マッチするユニット識別子とマッチしない編集識別子とに関連付けられたデータ・ユニットは第3のドキュメントにマージされる。
公开号:JP2011507072A
申请号:JP2010536967
申请日:2008-11-18
公开日:2011-03-03
发明作者:ジョセフ;バーンシュタイン イーサン;ジェイムズ;アントス クリストファー;ベケット;ベイラー ジョナサン;ローランド;ナイト マーク
申请人:マイクロソフト コーポレーション;
IPC主号:G06F17-21
专利说明:

[0001] マージは、同一のドキュメントの異なるコピーに加えられた複数の変更を調整する動作である。]
背景技術

[0002] 最も頻繁にあるのは、2人が同時にドキュメントを修正した場合にマージが必要となることである。後に、これらの変更を単一の新しいドキュメントにマージして双方の作者の意図を反映する必要がある。]
発明が解決しようとする課題

[0003] 従来式のマージは扱い難く時間がかかる恐れがあるため、より効率のよいマージが望まれている。]
課題を解決するための手段

[0004] 本明細書で論ずるように、実施形態の一態様では、第1のドキュメントを少なくとも第2のドキュメントとマージして第3のドキュメントを生成する方法に関する。第1および第2のドキュメントはそれぞれ、少なくとも一つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられている。本方法は、第1のドキュメントのデータ・ユニットのユニット識別子を取得するステップを含む。本方法はまた、第2のドキュメントのデータ・ユニットのユニット識別子を取得するステップを含む。第1および第2のドキュメントそれぞれのユニット識別子は、第1および第2のドキュメントの他方のユニット識別子と比較され、ユニット識別子のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかが判定される。マッチするユニット識別子は第1および第2のドキュメントの対応するデータ・ユニットを示す。マッチしないユニット識別子のそれぞれは、第1および第2のドキュメントのうち一方のデータ・ユニットであって、第1および第2のドキュメントの他方のデータ・ユニットと対応しないデータ・ユニットを示す。マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子は、マッチする編集識別子を確認するために互いに比較される。マッチする編集識別子のそれぞれは、第1および第2のドキュメントのうち一方のデータ・ユニットが第1および第2のドキュメントの他方の対応するデータ・ユニットとマッチすることを示す。マッチしないユニット識別子に関連付けられた第1および第2のドキュメントのデータ・ユニットは第3のドキュメントに直接挿入される。さらに、マッチするユニット識別子およびマッチする編集識別子に関連付けられている第1および第2のドキュメントのデータ・ユニットは、第3のドキュメントに直接挿入される。最後に、マッチするユニット識別子とマッチしない編集識別子に関連付けられている第1および第2のドキュメントのデータ・ユニットは、第3のドキュメントにマージされる。]
[0005] 幾つかの実施形態の別の態様はドキュメント処理システムに関する。ドキュメント処理システムはドキュメント処理アプリケーションと第1のドキュメントを含む。ドキュメント処理アプリケーションは、少なくとも2つのドキュメントをマージして第3のドキュメントを生成するように構成される。第1のドキュメントは、ドキュメント処理アプリケーションによって処理されるように構成される。第1のドキュメントはコンテンツとメタデータを格納する。コンテンツは少なくとも1つのデータ・ユニットを含む。メタデータは各データ・ユニットに関連付けられているユニット識別子と編集識別子を含む。各データ・ユニットのユニット識別子は、そのデータ・ユニットが作成されるときに生成される。各データ・ユニットの編集識別子は、データ・ユニットに加えられた修正が保存されるときに生成される。]
[0006] さらなる態様は、第1および第2のドキュメントからマージされたドキュメントを生成する方法を実装するコンピュータ実行可能命令を有するコンピュータ可読記憶媒体に関する。本方法は、第1のドキュメントが第1のドキュメント識別子を有するか否か、および第2のドキュメントが第2のドキュメント識別子を有するか否かを判定するステップを含む。本方法はまた、第1および第2のドキュメントのうち一方が第1および第2のドキュメント識別子のうち一方を有する場合に、第1および第2のドキュメント識別子のうち一方を取得するステップを含む。本方法はさらに、第1のドキュメントの第1のドキュメント識別子を第2のドキュメントの第2のドキュメント識別子と比較するステップを含む。本方法は、第1および第2のドキュメントのいずれもドキュメント識別子を有さない場合に、第1および第2のドキュメントに対して従来式のマージを実行してマージされたドキュメントを生成するステップを含む。さらに、本方法は、第1のドキュメント識別子が第2のドキュメント識別子と異なる場合に、第1および第2のドキュメントに対して従来式のマージを実行してマージされたドキュメントを生成するステップを含む。最後に、本方法は、第1のドキュメント識別子が第2のドキュメント識別子にマッチする場合に、第1および第2のドキュメントに対して高速なマージを実行してマージされたドキュメントを生成するステップを含む。]
[0007] 本概要は、選択した概念を簡潔な形で導入するために提供している。その概念は、発明を実施するための形態において、後にさらに説明する。本発明の概要は、クレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、決してクレーム主題の範囲を限定するために使用しようとするものでもない。]
図面の簡単な説明

[0008] 例示的なドキュメント処理システムのブロック図である。
図1の例示的なドキュメント処理アプリケーションによって処理されるように構成した例示的なドキュメントを示すブロック図である。
図2に示すドキュメントに対する例示的な形式を示すブロック図である。
メタデータ・ファイルがドキュメントとは別に格納されることを除いて、図3に示すものと同様な別の例示的なドキュメントを示すブロック図である。
第1のドキュメントを第2のドキュメントとマージして第3のドキュメントを生成するステップを示すブロック図である。
本開示の態様を実装する例示的なコンピューティング・システムの図である。
第1のドキュメントを第2のドキュメントとマージして第3のドキュメントを生成する方法の例を示す図である。
ユニット識別子と編集識別子をドキュメントの各データ・ユニットに割り当て、格納する方法の例を示す図である。
第1のドキュメントを第2のドキュメントとマージしてマージされたドキュメントを生成する別の方法の例を示す図である。] 図1 図2 図3
実施例

[0009] 本開示では、添付図面を参照して例示的な実施形態をさらに説明する。添付図面には具体的な実施形態を示している。しかし、他の態様を多種多様な形態で具現化してもよく、種々の具体的な実施形態を本開示に含めたことは、係る態様を本明細書に記載した実施形態に限定するものと解釈すべきではない。そうではなく、図面に示す実施形態は、徹底的且つ完全な開示を提供するために含めたものであり、意図した範囲を当業者に完全に伝達するものである。図を参照すると、全体を通して、図示した同一の構造と要素を同一の参照番号で示している。]
[0010] 本開示の実施形態は一般にドキュメントのマージに関する。1つの非限定的な例では、第1のドキュメントを少なくとも第2のドキュメントとマージして第3のドキュメントを生成することについて説明する。第1および第2のドキュメントはそれぞれ少なくとも1つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられている。さらなる実施形態はドキュメント処理システムに関する。ドキュメント処理システムは、少なくとも2つのドキュメントをマージして第3のドキュメントを生成するように構成されたドキュメント処理アプリケーションを含む。]
[0011] 図1は例示的なドキュメント処理システムのブロック図である。ドキュメント処理システム100はドキュメント処理アプリケーション110とドキュメント120を含む。ドキュメント処理アプリケーション110は、ドキュメント120をマージしてマージされたドキュメントを生成するように構成される。代替的な実施形態では、ドキュメント処理アプリケーション110は、3つ以上のドキュメントをマージしてマージされたドキュメントを生成するように構成される。] 図1
[0012] 1つの可能な実施形態では、ドキュメント処理アプリケーション110は、MICROSOFT「登録商標」 Office Wordアプリケーションのようなワード・プロセッシング・アプリケーションであるが、これに限らない。他の可能な実施形態では、ドキュメント処理システム100は、イメージ、データ、音声、または他の任意の適切なドキュメント処理システムである。同様に、ドキュメント処理アプリケーション110は、イメージ、データ、音声、または他の任意の適切なドキュメント処理アプリケーションである。この他の任意の適切なドキュメント処理アプリケーションは、例えば、Microsoft「登録商標」 OfficeのPOWERPOINT「登録商標」、EXCEL「登録商標」、VISIO「登録商標」、ACCESS「商標」、およびOUTLOOK「登録商標」ソフトウェア・アプリケーションであるがこれらに限らない。ドキュメント120は、テキストまたはリッチテキストのドキュメント、プレゼンテーション、スプレッドシート、図面、データ、電子メール、および適切な形式である他の任意のドキュメントであることができる。]
[0013] 図2は図1の例示的なドキュメント処理アプリケーション110によって処理されるように構成した例示的なドキュメント120を示すブロック図である。ドキュメント120は、1つまたは複数のデータ・ユニット124に分割される。各データ・ユニット124は、データ・ユニット124の存続期間だけ存在する一意なユニット識別子126に割り当てられる。ユニット識別子126は、関連付けられたデータ・ユニット124を、ドキュメント120内の他の任意のデータから識別し、区別する。] 図1 図2
[0014] データ・ユニット124はまた、データ・ユニット124が作成され、編集され、または修正されたときに編集識別子128に割り当てられる。具体的には、データ・ユニット124が作成され、編集され、または変更されるときは常に、新しい編集識別子128がデータ・ユニット124に割り当てられ、その結果、新しい編集識別子128がデータ・ユニット124の以前の編集識別子と(もしあれば)置き換えられる。新しい編集識別子128は、データ・ユニット124の以前の編集識別子(もしあれば)とは異なる。1つの可能な実施形態では、編集識別子128はランダムに生成される。]
[0015] 例示的な実施形態では、ドキュメント120は、様々な方法を用いてデータ・ユニット124に分解される。例えば、ドキュメント120がテキスト・ドキュメントである場合には、ドキュメントの各パラグラフを別々のデータ・ユニットに分解することができる。換言すれば、テキスト・ドキュメントの例では、データ・ユニット124をパラグラフと呼ぶこともできる。係る例では、ユニット識別子126はパラグラフ識別子と称する。他種のドキュメントでは、他の方法を用いてドキュメント120をデータ・ユニットに分解することができる。例えば、ドキュメント内のオブジェクト、グラフィック、スライド、または他の選択可能な項目を用いてドキュメントを別々のデータ・ユニットに分解することができる。]
[0016] ユニット識別子126と編集識別子128は、データ・ユニット124を識別するための任意の適切な形式であることができる。ユニット識別子126と編集識別子128の1つの可能で例示的な形式は、32ビットの整数のような、数字、文字、および/または記号の組合せである。当業者には、ユニット識別子126と編集識別子128に対する他の多くの適切な識別子の形式が理解されよう。ユニット識別子126と編集識別子128を、ドキュメント120に、別々のファイルに、または他の任意の適切な記憶可能でアクセス可能な媒体に、記憶することができる。ユニット識別子126と編集識別子128を記憶する例示的な形式の一部を、後に図3および図4でより詳細に論ずる。] 図3 図4
[0017] ドキュメント120はまた、ドキュメント120を識別するためのドキュメント識別子122を含む。1つの可能な実施形態では、ドキュメント120が新たに作成されたときに、ドキュメント識別子122がドキュメント120に割り当てられる。別の可能な実施形態では、ドキュメント120にドキュメント識別子がない場合に、ドキュメント識別子122がドキュメント120に割り当てられる。例えば、ユニット識別子または編集識別子を認識しないアプリケーションによってドキュメント120が以前に編集されているとき、ドキュメント識別子122がドキュメント120に割り当てられる。]
[0018] ドキュメント識別子122がドキュメント120に割り当てられるとき、ドキュメント識別子122は、一意かつ不変である。換言すれば、ドキュメント識別子122はドキュメント120の存続期間だけ存続する。ドキュメント120が編集され修正される場合でも、ドキュメント識別子122は変化しない。さらに、別のドキュメントがドキュメント120から作成される場合でも、ドキュメント識別子122は当該別のドキュメントに付随する。これは、ユーザがドキュメントを新しいドキュメントにコピーするか、またはドキュメントのユーザ・コピーを複数作成し、複数のユーザが同一のドキュメントを編集できるようにする場合に生ずる可能性がある。]
[0019] 図3は、図2に示すドキュメント120に対する例示的な形式を示すブロック図である。具体的には、ドキュメント120はコンテンツ130とメタデータ140を含む。ドキュメント120はコンテンツ130とメタデータ140を記憶する。コンテンツ130は少なくとも1つのデータ・ユニット124を含む。メタデータ140は各データ・ユニット124に関連付けられたユニット識別子126と編集識別子128を含む。ユニット識別子126は、データ・ユニット124が作成されるときに生成される。データ・ユニット124に加えた修正がドキュメントに保存されるときは常に、編集識別子128が生成される。メタデータ140はドキュメント120に保存される。] 図2 図3
[0020] 図4は、メタデータ・ファイル150が別にドキュメント120から保存されることを除いて、図3に示すものと同様な別の例示的なドキュメント120を示すブロック図である。メタデータ・ファイル150がドキュメント120のコンテンツ130に関するメタデータ140を含むことが好ましい。メタデータ・ファイル150のメタデータ140は、メタデータ140がどのデータ・ユニット124に関するかを示すユニット識別子126を含む。また、1つの可能な実施形態では、メタデータ140は編集識別子128も含むことができる。データ・ユニット124は、メタデータ140に含まれるユニット識別子126によって示される。] 図3 図4
[0021] 図5は、第1のドキュメント220を第2のドキュメント240とマージして第3のドキュメント260を生成するステップを示すブロック図である。第1のドキュメント220と第2のドキュメント240の例示的な構造は図1〜4において上述した。第3のドキュメント260は第1のドキュメント220と第2のドキュメント240をマージすることによって作成された、マージされたドキュメントである。] 図1 図2 図3 図4 図5
[0022] 図5に示す1つの例として、第1のドキュメント220は第1ドキュメント識別子122aとデータ・ユニット124a〜cを含む。第1のドキュメント識別子122aは第1のドキュメント220を識別する。図5では3つのデータ・ユニット124a〜cを示しているが、第1のドキュメント220が含むデータ・ユニットの数はこれより多くても少なくてもよい。示したデータ・ユニット124a〜cに関して、データ・ユニット124aは、データ・ユニット124aに関連付けられた、ユニット識別子U1と編集識別子E1を有する。データ・ユニット124bは、データ・ユニット124bに関連付けられた、ユニット識別子U2と編集識別子E20を有する。データ・ユニット124cは、データ・ユニット124cに関連付けられた、ユニット識別子U3と編集識別子E3を有する。] 図5
[0023] 同様に、第2のドキュメント240は、第2のドキュメント識別子122bとデータ・ユニット124d〜fを含む。第2のドキュメント識別子122bは第2のドキュメント240を識別する。図5では3つのデータ・ユニット124d〜fを示しているが、第2のドキュメント240が含むデータ・ユニットの数はこれより多くても少なくてもよい。データ・ユニット124dは、データ・ユニット124dに関連付けられたユニット識別子U1と編集識別子E1を有する。データ・ユニット124eは、データ・ユニット124eに関連付けられたユニット識別子U2と編集識別子E21を有する。第2のドキュメント240内のデータ・ユニット124eの編集識別子E21が、第1のドキュメント220内のデータ・ユニット124bの編集識別子E20と異なることに留意されたい。データ・ユニット124fは、データ・ユニット124fに関連付けられたユニット識別子U4と編集識別子E4を有する。] 図5
[0024] 図5に示す例示的なマージにおいて、第1のドキュメント220の第1のドキュメント識別子122aは、第2のドキュメント240の第2のドキュメント識別子122bと同じである。したがって、第1のドキュメント220と第2のドキュメント240は、後に詳述する高速マージで実行される。第1のドキュメント220と第2のドキュメント240が同じドキュメント識別子を有するため、第1のドキュメント220と第2のドキュメント240は共通の起点あるいは親を共有する。したがって、第1のドキュメント220を、以下で説明する高速なマージ・プロセスのうち1つまたは複数を用いて第2のドキュメント240とマージすることができる。] 図5
[0025] 第1のドキュメント220のデータ・ユニット124aは、第2のドキュメント240のデータ・ユニット124dと同じユニット識別子U1と編集識別子E1を有する。したがって、データ・ユニット124aをデータ・ユニット124dと同じものとして示してある。換言すれば、データ・ユニット124dはデータ・ユニット124aから変更も修正もされていない。したがって、データ・ユニット124aとデータ・ユニット124dをマージする必要はない。そうではなく、データ・ユニット124a(または、データ・ユニット124aと同じであるデータ・ユニット124d)はデータ・ユニット124gで表した第3のドキュメント260に直接挿入される。データ・ユニット124aとデータ・ユニット124dをマージする必要がないため、マージされたドキュメント(すなわち、第3のドキュメント)260内のデータ・ユニット124gは、データ・ユニット124gに関連付けられたユニット識別子U1と編集識別子E1を保持する。データ・ユニット124a内のコンテンツをデータ・ユニット124d内のコンテンツとさらに比較する必要のないこの直接挿入によって、時間を節約し、効率性を向上させ、マージ精度を高めることができる。]
[0026] データ・ユニット124bとデータ・ユニット124eは、同じユニット識別子U2と、異なる編集識別子E20、E21を有する。異なる編集識別子E20、E21は、データ・ユニット124bとデータ・ユニット124eが異なってもよいことを示す。換言すれば、データ・ユニット124bとデータ・ユニット124eをマージする必要がある。したがって、第3のドキュメント260内のデータ・ユニット124hは、データ・ユニット124bとデータ・ユニット124eのマージから生成される。ユニット識別子U2はデータ・ユニット124h内に保持される。新しい編集識別子E22が、2つのデータ・ユニット124bと124eをマージすることにより作成される。]
[0027] 第1のドキュメント220のデータ・ユニット124cは、データ・ユニット124cのユニット識別子U3とマッチするユニット識別子を有する第2のドキュメント240内のデータ・ユニットを有することはできない。そのため、データ・ユニット124cはマージされずに第3のドキュメント260に直接挿入され、第3のドキュメント260においてデータ・ユニット124iと表される。したがって、データ・ユニット124iはデータ・ユニット124iに関連付けられたユニット識別子U3と編集識別子E3を含む。第3のドキュメント260内のデータ・ユニット124iは、第1のドキュメント220内のデータ・ユニット124cと全く同じである。1つの可能な実施形態では、データ・ユニット124cは第3のドキュメント260の末尾に直接付加される。別の可能な実施形態では、(データ・ユニット124cのコンテンツがマージされていない)データ・ユニット124cは、データ・ユニット124a〜j間の関係に従って第3のドキュメント260内の適切な位置に挿入するために整列される。]
[0028] 同様に、第2のドキュメントのデータ・ユニット124fは、データ・ユニット124fのユニット識別子U4とマッチするユニット識別子を有する第1のドキュメント220内のデータ・ユニットを有することはできない。そのため、データ・ユニット124fはマージされずに第3のドキュメント260に直接挿入され、第3のドキュメント260においてデータ・ユニット124jと表される。したがって、データ・ユニット124jはデータ・ユニット124jに関連付けられたユニット識別子U4と編集識別子E4を含む。第3のドキュメント260内のデータ・ユニット124jは、第2のドキュメント240内のデータ・ユニット124fと全く同じである。1つの可能な実施形態では、データ・ユニット124fは第3のドキュメント260の末尾に直接付加される。別の可能な実施形態では、(データ・ユニット124fのコンテンツがマージされていない)データ・ユニット124fは、データ・ユニット124a〜j間の関係に従って第3のドキュメント260内の適切な位置に挿入するために整列される。]
[0029] このように、マージされたドキュメント260はデータ・ユニット124g〜jを含む。データ・ユニット124g〜jのそれぞれはまた、ユニット識別子と編集識別子に関連付けられる。さらに、ドキュメント識別子122a(または、122aと同じである122b)は、マージされたドキュメント260内に留まり、図5のドキュメント識別子122cとして表される。] 図5
[0030] 別の可能な実施形態では、第1のドキュメント220のドキュメント識別子122aが第2のドキュメント240のドキュメント識別子122bと異なる場合、従来式のマージは第1のドキュメントと第2のドキュメントの間で実行される。さらに別の可能な実施形態では、第1のドキュメント220と第2のドキュメント240のいずれもがドキュメント識別子を有さない場合、従来式のマージを実行して第3のドキュメントを生成する。]
[0031] 図5の例は、2つのドキュメントを共に、マージされた第3のドキュメントにマージすることを示す。しかし、図5の例は2つのみのドキュメントをマージすることに限定されない。そうではなく、本明細書で示した概念と原理は3つ以上のドキュメントをマージすることにも適用することができる。] 図5
[0032] 図6は本開示の態様を実装する例示的なコンピューティング・システム600である。例えば、コンピューティング・システム600は、1つのドキュメントを作成するか上述のドキュメント220、240のような2つ以上のドキュメントをマージするために使用される上述のドキュメント処理システム100であることができる。その最も基本的な構成では、コンピューティング・システム600は一般には、少なくとも1つの処理装置602とメモリ604を含む。コンピューティング・システムの厳密な構成と種類に応じて、メモリ604は、(RAMのような)揮発性であるか、(ROM、フラッシュ・メモリ、等のような)不揮発性であるか、またはその2つの何らかの組合せであってもよい。この最も基本的な構成を図6において破線606によって示す。さらに、コンピューティング・システム600は追加の特徴/機能を有してもよい。例えば、コンピューティング・システム600は(取外し可能および/または取外し不能な)追加のストレージを備えてもよく、そのストレージには、磁気ディスクもしくは磁気テープまたは光ディスクもしくは光テープが含まれるがこれらに限らない。図6において、係る追加のストレージを、取外し可能ストレージ608および取外し不能ストレージ610によって示す。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラム・モジュールまたは他のデータのような情報を記憶するための任意の方法または技術で実装した、揮発性および不揮発性媒体、取外し可能および取外し不能媒体が含まれる。メモリ604、取外し可能ストレージ608、および取外し不能ストレージ610はすべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュ・メモリまたは他のメモリ技術、CD−ROM、DVD(digital versatile disk)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気記憶装置、または所望の情報の記憶に使用できコンピューティング・システム600がアクセスできる他の任意の媒体が含まれるがこれらに限らない。係る任意のコンピュータ記憶媒体はコンピューティング・システム600の一部であってもよい。] 図6
[0033] コンピューティング・システム600はまた、コンピューティング・システムが他の装置と通信できるようにする通信接続(群)612を含んでもよい。通信接続(群)612は通信媒体の一例である。通信媒体は、一般に、コンピュータ可読命令、データ構造、プログラム・モジュールまたは搬送波や他の伝送機構のような変調データ信号内の他のデータを具体化し、通信媒体には任意の情報伝達媒体が含まれる。「変調データ信号」という用語は、その1つまたは複数の特性を有するかまたは信号内の情報をエンコードするように変化した信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークまたは直接有線接続のような有線媒体、および音響、RF、赤外線および他の無線媒体のような無線媒体が含まれる。本明細書で用いるコンピュータ可読媒体という用語には、記憶媒体と通信媒体の両方が含まれる。]
[0034] コンピューティング・システム600はまた、キーボード、マウス、ペン、音声入力装置、タッチ入力装置、等のような入力装置(群)614を有してもよい。ディスプレイ、スピーカ、プリンタ、等のような出力装置(群)616を含めてもよい。これらの装置は全て当業者によく知られており、ここで詳細に論じる必要はない。]
[0035] 幾つかの実施形態では、メモリ604は、オペレーティング・システム620、アプリケーション・プログラム622、他のプログラム・モジュール624、およびプログラム・データ626のうちの1つまたは複数を含む。例えば、アプリケーション・プログラム622は、2つ以上のドキュメントを作成および/またはマージするために使用されるテキストまたはワード・プロセッシング・アプリケーションを含むことができる。]
[0036] 図7は、第1のドキュメントを第2のドキュメントとマージして第3のドキュメントを生成する方法の例700を示す。示した方法では、第1および第2のドキュメントはそれぞれ少なくとも1つのデータ・ユニットを含む。各データ・ユニットはユニット識別子と編集識別子に関連付けられる。ドキュメント処理アプリケーションは、第1のドキュメントと第2のドキュメントをマージして第3のドキュメントを生成するように構成される。上述したように、1つの可能な実施形態では、ドキュメントはテキスト・ドキュメントである。] 図7
[0037] 動作702で、ドキュメント処理アプリケーションは、第1のドキュメントのデータ・ユニットのユニット識別子を取得する。1つの可能な実施形態では、ユニット識別子は第1のドキュメントに格納される。別の可能な実施形態では、ユニット識別子は第1のドキュメントから分離されたメタデータ・ファイルに格納される。]
[0038] 動作フローは動作704に進む。動作704で、ドキュメント処理アプリケーションは第2のドキュメントのデータ・ユニットのユニット識別子を取得する。1つの可能な実施形態では、ユニット識別子は第2のドキュメント内に格納される。別の可能な実施形態では、ユニット識別子は第2のドキュメントから分離されたメタデータ・ファイルに格納される。]
[0039] 動作フローは動作706に進む。動作706で、ドキュメント処理アプリケーションは、第1および第2のドキュメントのそれぞれのユニット識別子を、第1および第2のドキュメントの他方のユニット識別子と比較して、ユニット識別子のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかを判定する。マッチするユニット識別子の意味するところは、第1のドキュメント内のユニット識別子が第2のドキュメント内のユニット識別子と同一であると分かるということである。これらのマッチするユニット識別子は、対応する第1および第2のドキュメントのデータ・ユニットを示す。マッチしないユニット識別子の意味するところは、第1および第2のドキュメントのうち一方の中のユニット識別子が第1および第2のドキュメントの他方の中のユニット識別子と一致し得ないということである。マッチしないユニット識別子のそれぞれは、第1および第2のドキュメントのうち一方のデータ・ユニットを示し、そのデータ・ユニットは、第1および第2のドキュメントの他方のデータ・ユニットと一致しない。]
[0040] 動作フローは比較動作708に進む。比較動作708では、第1および第2のドキュメントのうち一方の中のユニット識別子が、第1および第2のドキュメントの他方の中のユニット識別子とマッチするか否かを判定する。比較動作708で第1および第2のドキュメントのうち一方の中のユニット識別子が第1および第2のドキュメントの他方の中のユニット識別子とマッチしないと判定される場合には、動作フローは「いいえ」に分岐し、動作710へと進む。動作710で、マッチしないユニット識別子に関連付けられたデータ・ユニットは第3のドキュメントに直接挿入される。]
[0041] 比較動作708で第1および第2のドキュメントのうち一方の中のユニット識別子が第1および第2のドキュメントの他方の中のユニット識別子とマッチすると判定される場合には、動作フローは「はい」に分岐し、動作712へと進む。]
[0042] 動作712で、ドキュメント処理アプリケーションは、マッチする編集識別子を確認するために、マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子を比較する。マッチする編集識別子はそれぞれ、第1および第2のドキュメントのうち一方のデータ・ユニットが対応する第1および第2のドキュメントの他方のデータ・ユニットとマッチすることを示す。他方、マッチしない編集識別子はそれぞれ、第1および第2のドキュメントのうち一方のデータ・ユニットが対応する第1および第2のドキュメントの他方のデータ・ユニットとマッチしないことを示す。]
[0043] 動作フローは比較動作714に進む。比較動作714は、マッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子が互いにマッチするか否かを判定する。比較動作708で編集識別子が互いにマッチすると判定される場合には、動作フローは「はい」に分岐し、動作710へと進む。動作710で、マッチするユニット識別子とマッチする編集識別子とに関連付けられたデータ・ユニットは、第3のドキュメントに直接挿入される。]
[0044] 比較動作714でマッチするユニット識別子に関連付けられたデータ・ユニットの編集識別子が互いにマッチしないと判定される場合には、動作フローは「いいえ」に分岐し、動作716へと進む。動作716で、マッチするユニット識別子とマッチしない編集識別とに関連付けられたデータ・ユニットは第3のドキュメントのデータ・ユニットにマージされる。これは、例えば三方向のマージ・アルゴリズムのような従来式のマージ・プロセスを使用して行うことができる。他の従来式のマージ・プロセスを使用することもできる。]
[0045] 図7で示す例は、2つのドキュメントを、マージされた第3のドキュメントへとマージする方法を示す。しかし、この例は2つのドキュメントをマージすることに限定されない。そうではなく、本明細書で示した概念と原理は3つ以上のドキュメントをマージすることにも適用することができる。] 図7
[0046] 図8は、ユニット識別子と編集識別子をドキュメントの各データ・ユニットに割り当て、格納する方法の例800を示す。具体的には、動作802で、ユニット識別子はドキュメントの各データ・ユニットに割り当てられる。ユニット識別子は一意かつ不変である。ユニット識別子はデータ・ユニットの存続期間だけ存在する。ユニット識別子は、関連付けられたデータ・ユニットをドキュメント内の他の任意のデータ・ユニットから識別し、区別する。] 図8
[0047] 動作フローは動作804へと進む。動作804で、ユニット識別子はドキュメント内に格納される。1つの可能な実施形態では、ユニット識別子はドキュメント内のメタデータに格納される。別の可能な実施形態では、ユニット識別子はドキュメントから分離されたメタデータ・ファイルに格納される。]
[0048] 動作フローは動作806へと進む。動作806で、データ・ユニットが作成または編集されるときは常に、編集識別子がドキュメントの各データ・ユニットに割り当てられる。したがって、編集識別子は、データ・ユニットが新たに作成されるか、または編集されることを示す。編集識別子はユニット識別子から分離されている。新しく割り当てられた編集識別子は、それがデータ・ユニットに割り当てられるときには、データ・ユニットの以前の編集識別子(もしあれば)とは異なるものであり、その以前の識別子と置き換えられる。1つの可能な実施形態では、編集識別子はランダムに生成される。換言すれば、編集識別子をランダムな識別子に割り当てることができる。]
[0049] 動作フローは動作808へと進む。動作808で、編集識別子はドキュメント内に格納される。1つの可能な実施形態では、編集識別子はドキュメント内のメタデータに格納される。別の可能な実施形態では、編集識別子はドキュメントから分離されたメタデータ・ファイルに格納される。さらに別の可能な実施形態では、ユーザがドキュメントを保存するとき、編集識別子はそのドキュメントと共に格納される。]
[0050] 図9は第1のドキュメントを第2のドキュメントとマージしてマージされたドキュメントを生成する別の方法の例900を示す。ドキュメント処理アプリケーションは、第1と第2のドキュメントをマージしてマージされたドキュメントを生成するように構成される。方法900は、特に、第1および/または第2のドキュメントに関連付けられたドキュメント識別子を有さない可能性がある、第1および第2のドキュメントをどのように処理するかを示す。換言すれば、1つの可能な実施形態では、方法900は、ドキュメン処理アプリケーションの以前のバージョンによって作成および/または編集されたドキュメントをどのように遡及的に扱うかを示す。方法900は、ドキュメント処理アプリケーションが以前のアプリケーションのバージョンとのドキュメント下位互換性をどのように扱うかを示す。] 図9
[0051] 動作フローは動作902で開始する。動作902は、第1のドキュメントが第1のドキュメントに関連付けられた第1のドキュメント識別子を有するかどうかを判定する。動作902で、第1のドキュメントが第1のドキュメントに関連付けられた第1のドキュメント識別子を持たないと判定される場合には、動作フローは「いいえ」に分岐し、動作914(後で詳細に論ずる)へと進む。動作902で、第1のドキュメントが第1のドキュメントに関連付けられた第1のドキュメント識別子を有すると判定される場合には、動作フローは「はい」に分岐し、動作904へと進む。動作904で、第1のドキュメント識別子を第1のドキュメントから取得する。]
[0052] 動作フローは動作906に進む。動作906では、第2のドキュメントが第2のドキュメントに関連付けられた第2のドキュメント識別子を有するかどうかを判定する。動作906で、第2のドキュメントが第2のドキュメントに関連付けられた第2のドキュメント識別子を有さないと判定される場合には、動作フローは「いいえ」に分岐し、動作914へ進む。動作906で、第2のドキュメントが第2のドキュメントに関連付けられた第2のドキュメント識別子を有すると判定される場合には、動作フローは「はい」に分岐し、動作908へと進む。動作908で、第2のドキュメント識別子を第2のドキュメントから取得する。]
[0053] 動作フローは比較動作910に進む。比較動作910で、第1のドキュメントの第1のドキュメント識別子が、第2のドキュメントの第2のドキュメント識別子にマッチするかどうかを判定する。比較動作910で、第1のドキュメントの第1のドキュメント識別子が、第2のドキュメントの第2のドキュメント識別子にマッチすると判定される場合には、動作フローは「はい」に分岐し、動作912へと進む。動作912で、図7〜8で上述したように高速なドキュメント・マージが実行される。比較動作910で、第1のドキュメントの第1のドキュメント識別子が第2のドキュメントの第2のドキュメント識別子にマッチしないと判定される場合には、動作フローは「いいえ」に分岐し、動作914へと進む。動作914で、従来式のドキュメント・マージが実行される。] 図7 図8
[0054] 従来式のドキュメント・マージが動作914で完了した後、動作フローは動作916へと進む。動作916で、ドキュメント識別子がマージされたドキュメントに割り当てられる。ドキュメント識別子は一意かつ不変である。ドキュメント識別子はマージされたドキュメントの存続期間だけ存在する。]
[0055] 動作フローは動作918に進む。動作918で、マージされたドキュメント内の各データ・ユニットが、データ・ユニットの存続期間だけ存在する一意なユニット識別子に割り当てられる。ユニット識別子は、関連付けられたデータ・ユニットを、マージされたドキュメント内の他の任意のデータ・ユニットから識別し、区別する。]
[0056] 動作フローは動作920に進む。動作920で、ユニット識別子がマージされたドキュメント内に格納される。1つの可能な実施形態では、ユニット識別子はドキュメント内のメタデータに格納される。別の可能な実施形態では、ユニット識別子は、マージされたドキュメントから分離されたメタデータ・ファイルに格納される。]
[0057] 動作フローは動作922に進む。動作922で、編集識別子がデータ・ユニットのそれぞれに割り当てられる。編集識別子は、データ・ユニットが新たに作成されるか、または編集されることを示す。編集識別子はユニット識別子から分離されている。]
[0058] 動作フローは動作924に進む。動作924で、編集識別子がマージされたドキュメント内に格納される。1つの可能な実施形態では、編集識別子はマージされたドキュメント内のメタデータに格納される。別の可能な実施形態では、編集識別子は、マージされたドキュメントと分離されたメタデータ・ファイルに格納される。さらに別の可能な実施形態では、編集識別子は、ユーザがドキュメントを保存するときに格納される。さらに、編集識別子にランダムな識別子を割り当てることができる。]
[0059] 動作916〜924の後、マージされたドキュメントは、そのマージされたドキュメントが後で編集および/または複製されるときに、高速マージの準備ができているドキュメントへと変換される。例えば、マージされたドキュメントが或るユーザによって第4のドキュメントへと修正され、かつ別のユーザによって第5のドキュメントへと修正された場合、第4のドキュメントと第5のドキュメントを上述の高速マージ方法でマージすることができる。]
[0060] 図9で示す例は、2つのドキュメントを、マージされた第3のドキュメントへとマージする方法を示す。しかし、この例は2つのドキュメントのみをマージすることに限定されない。そうではなく、本明細書で示した概念と原理は3つ以上のドキュメントをマージすることに適用することができる。] 図9
[0061] 主題を構造的特徴および/または方法論的動作に固有な言葉で説明したが、添付の特許請求の範囲で定義した主題は必ずしも上述の具体的な特徴または動作に限定されないことは理解されよう。そうではなく、上述の具体的な特徴および動作は特許請求の範囲を実装する形態の例として開示されている。]
权利要求:

請求項1
第1のドキュメント(220)を少なくとも第2のドキュメント(240)とマージして第3のドキュメント(260)を生成する方法であって、前記第1および第2のドキュメント(220、240)のそれぞれは1つまたは複数のデータ・ユニット(124a、124b、124c、124d、124e、124f)を含み、各データ・ユニット(124a、124b、124c、124d、124e、124f)はユニット識別子(U1、U2、U3、U4)および編集識別子(E1、E3、E4、E20、E21)に関連付けられ、前記方法は、前記第1のドキュメント(220)の前記データ・ユニット(124a、124b、124c)の前記ユニット識別子(U1、U2、U3)を取得するステップと、前記第2のドキュメント(240)の前記データ・ユニット(124d、124e、124f)の前記ユニット識別子(U1、U2、U4)を取得するステップと、前記第1および第2のドキュメント(220、240)のそれぞれの前記ユニット識別子(U1、U2、U3、U4)を前記第1および第2のドキュメント(220、240)の他方の前記ユニット識別子(U1、U2、U3、U4)と比較して、前記ユニット識別子(U1、U2、U3、U4)のそれぞれがマッチするユニット識別子であるかマッチしないユニット識別子であるかを判定するステップであって、前記マッチするユニット識別子のそれぞれは、対応する前記第1および第2のドキュメント(220、240)のデータ・ユニット(124a、124b、124c、124d、124e、124f)を示し、前記マッチしないユニット識別子のそれぞれは、前記第1および第2のドキュメント(220、240)の他方のデータ・ユニット(124a、124b、124c、124d、124e、124f)と対応しない前記第1および第2のドキュメント(220、240)のうち一方のデータ・ユニット(124a、124b、124c、124d、124e、124f)を示すステップと、前記マッチするユニット識別子に関連付けられた前記データ・ユニット(124a、124b、124c、124d、124e、124f)の編集識別子(E1、E3、E4、E20、E21)を比較して、マッチする編集識別子を確認するステップであって、前記マッチする編集識別子のそれぞれは、前記第1および第2のドキュメント(220、240)のうち一方の前記データ・ユニット(124a、124b、124c、124d、124e、124f)が前記対応する前記第1および第2のドキュメント(220、240)の他方のデータ・ユニット(124a、124b、124c、124d、124e、124f)とマッチすることを示すステップと、マッチしないユニット識別子に関連付けられた前記第1および第2のドキュメント(220、240)のデータ・ユニット(124a、124b、124c、124d、124e、124f)を前記第3のドキュメント(260)に直接挿入するステップと、マッチするユニット識別子とマッチする編集識別子とに関連付けられた前記第1および第2のドキュメント(220、240)のデータ・ユニット(124a、124b、124c、124d、124e、124f)を前記第3のドキュメント(260)に直接挿入するステップと、マッチするユニット識別子とマッチしない編集識別子とに関連付けられた前記第1および第2のドキュメント(220、240)のデータ・ユニット(124a、124b、124c、124d、124e、124f)を前記第3のドキュメント(260)にマージするステップとを備えることを特徴とする方法。
請求項2
ユニット識別子を前記第1のドキュメントの各データ・ユニットに割り当てるステップと、前記ユニット識別子を前記第1のドキュメント内に格納するステップとをさらに備えることを特徴とする請求項1に記載の方法。
請求項3
編集識別子を前記第1のドキュメントの各データ・ユニットに割り当てるステップと、前記編集識別子を前記第1のドキュメント内に格納するステップとをさらに備えることを特徴とする請求項1に記載の方法。
請求項4
前記編集識別子を格納するステップは、ユーザが前記第1のドキュメントを保存するときに前記編集識別子を格納するステップを含むことを特徴とする請求項3に記載の方法。
請求項5
前記編集識別子を割り当てるステップはランダムな識別子を生成するステップを含むことを特徴とする請求項3に記載の方法。
請求項6
前記第1のドキュメントの前記データ・ユニットの前記ユニット識別子を取得するステップは、前記第1のドキュメントのパラグラフのパラグラフ識別子を取得するステップを含むことを特徴とする請求項1に記載の方法。
請求項7
少なくとも2つのドキュメント(220、240)をマージして第3のドキュメント(260)を生成するように構成されたドキュメント処理アプリケーション(110)と、前記ドキュメント処理アプリケーション(110)によって処理されるように構成された第1のドキュメント(120)であって、前記第1のドキュメント(120)はコンテンツ(130)およびメタデータ(140)を格納し、前記第1のドキュメント(120)の前記コンテンツ(130)は少なくとも1つのデータ・ユニット(124)を含み、前記第1のドキュメント(120)の前記メタデータ(140)は各データ・ユニットに関連付けられたユニット識別子(126)と編集識別子(128)を含み、各データ・ユニットの前記ユニット識別子(126)は前記データ・ユニット(124)が作成されるときに生成され、各データ・ユニットの前記編集識別子(128)は前記データ・ユニット(124)に対する修正が保存されるときに生成される、第1のドキュメント(120)とを備えることを特徴とするドキュメント処理システム(100)。
請求項8
前記ドキュメント処理アプリケーションは、前記データ・ユニットが作成されるときに各データ・ユニットの前記ユニット識別子が生成されるように構成されることを特徴とする請求項7に記載のドキュメント処理システム。
請求項9
前記ドキュメント処理アプリケーションは、前記修正が前記第1のドキュメント内に格納されるときに各データ・ユニットの前記編集識別子が生成されるように構成されることを特徴とする請求項7に記載のドキュメント処理システム。
請求項10
前記第1のドキュメントとは別々に格納され、前記第1のドキュメントの前記コンテンツに関するメタデータを含むメタデータ・ファイルであって、前記メタデータ・ファイルの前記メタデータは、前記メタデータがどのデータ・ユニットに関係するかを示すユニット識別子を含む、前記メタデータ・ファイルをさらに備えることを特徴とする請求項7に記載のドキュメント処理システム。
請求項11
前記メタデータ・ファイルに格納された前記メタデータは、前記メタデータに含まれる前記ユニット識別子によって示された前記データ・ユニットと関連付けられることを特徴とする請求項10に記載のドキュメント処理システム。
請求項12
前記ドキュメント処理アプリケーションは、前記第1のドキュメントの前記ユニット識別子を第2のドキュメントのユニット識別子と比較して、前記ユニット識別子のそれぞれがマッチするユニット識別子かマッチしない識別子かを判定するように構成され、前記マッチするユニット識別子のそれぞれは、対応する前記第1および第2のドキュメントのデータ・ユニットを示し、前記マッチしないユニット識別子のそれぞれは、前記第1および第2のドキュメントの他方のデータ・ユニットと対応しない前記第1および第2のドキュメントのうち一方のデータ・ユニット示すことを特徴とする請求項7に記載のドキュメント処理システム。
請求項13
前記ドキュメント処理アプリケーションは、前記マッチするユニット識別子に関連付けられた前記データ・ユニットの編集識別子を比較してマッチする編集識別子を確認するように構成され、前記マッチする編集識別子のそれぞれは、前記第1および第2のドキュメントのうち一方の前記データ・ユニットが、前記対応する前記第1および第2のドキュメントの他方のデータ・ユニットとマッチすることを示すことを特徴とする請求項12に記載のドキュメント処理システム。
請求項14
前記ドキュメントはテキスト・ドキュメントであることを特徴とする請求項7に記載のドキュメント処理システム。
請求項15
前記データ・ユニットはパラグラフであることを特徴とする請求項7に記載のドキュメント処理システム。
請求項16
第1のドキュメント(220)および第2のドキュメント(240)からマージされたドキュメント(260)を生成する方法を実装するコンピュータ実行可能命令を有するコンピュータ可読記憶媒体(604)であって、前記方法は、前記第1のドキュメント(220)が、前記第1のドキュメント(220)を識別する第1のドキュメント識別子(Ul、U2、U3)を有するか否かを判定するステップと、前記第1のドキュメント(220)が第1のドキュメント識別子(Ul、U2、U3)を有する場合には、前記第1のドキュメント識別子(Ul、U2、U3)を取得するステップと、前記第2のドキュメント(240)が、前記第2のドキュメント(240)を識別する第2のドキュメント識別子(Ul、U2、U4)を有するか否かを判定するステップと、前記第2のドキュメント(220)が前記第2のドキュメント識別子(Ul、U2、U4)を有する場合には、前記第2のドキュメント識別子(Ul、U2、U4)を取得するステップと、前記第1のドキュメント(220)の前記第1のドキュメント識別子(Ul、U2、U3)を前記第2のドキュメント(240)の前記第2のドキュメント識別子(Ul、U2、U4)と比較するステップと、前記第1および第2のドキュメント(220、240)のいずれもがドキュメント識別子(Ul、U2、U3、U4)を有さない場合には、前記第1および第2のドキュメント(220、240)の従来式のマージを実行して前記マージされたドキュメント(260)を生成するステップと、前記第1のドキュメント(220)の前記第1のドキュメント識別子(Ul、U2、U3)が前記第2のドキュメント(240)の前記第2のドキュメント識別子(Ul、U2、U4)と異なる場合には、前記第1および第2のドキュメント(220、240)の従来式のマージを実行して前記マージされたドキュメント(260)を生成するステップと、前記第1のドキュメント(220)の前記第1のドキュメント識別子(Ul、U2、U3)が前記第2のドキュメント(240)の前記第2のドキュメント識別子(Ul、U2、U4)とマッチする場合には、前記第1および第2のドキュメント(220、240)の高速マージを実行して前記マージされたドキュメント(260)を生成するステップとを備えることを特徴とするコンピュータ可読記憶媒体。
請求項17
前記高速マージを実行するステップは、前記第1のドキュメントの各データ・ユニットの一意かつ不変な識別子と、前記第2のドキュメントの各データ・ユニットの一意かつ不変な識別子とを比較することによって、前記第1のドキュメントのどのデータ・ユニットが前記第2のドキュメントのデータ・ユニットにマッチするかを識別するステップと、前記識別されたデータ・ユニットを前記マージされたドキュメントに直接挿入して前記マージされたドキュメントのデータ・ユニットを作成するステップと、前記第1および第2のドキュメントの他方のデータ・ユニットとマッチしない前記第1および第2のドキュメントのうち一方の各データ・ユニットを、従来式のマージを用いてマージして、前記マージされたドキュメントの前記データ・ユニットをさらに作成するステップとを含むことを特徴とする請求項16に記載のコンピュータ可読記憶媒体。
請求項18
前記方法は、前記第1および第2のドキュメントがドキュメント識別子を有しない場合は、一意かつ不変な識別子を前記マージされたドキュメントの前記データ・ユニットのそれぞれに追加するステップと、前記第1のドキュメントの前記ドキュメント識別子が前記第2のドキュメントの前記ドキュメント識別子と異なる場合は、一意かつ不変な識別子を前記マージされたドキュメントの前記データ・ユニットのそれぞれに追加するステップとをさらに備えることを特徴とする請求項16に記載のコンピュータ可読記憶媒体。
請求項19
前記一意かつ不変な識別子を前記マージされたドキュメントの前記データ・ユニットのそれぞれに追加するステップは、前記一意かつ不変な識別子を前記マージされたドキュメント内に格納するステップを含むことを特徴とする請求項18に記載のコンピュータ可読記憶媒体。
請求項20
前記第1のドキュメントの各データ・ユニットの前記一意かつ不変な識別子を前記第2のドキュメントの各データ・ユニットの前記一意かつ不変な識別子と比較するステップは、前記第1のドキュメントの各データ・ユニットのユニット識別子および編集識別子を、前記第2のドキュメントの各データ・ユニットのユニット識別子および編集識別子と比較するステップを含むことを特徴とする請求項17に記載のコンピュータ可読記憶媒体。
类似技术:
公开号 | 公开日 | 专利标题
US9858270B2|2018-01-02|Converting data into natural language form
US9558218B2|2017-01-31|Truncating data associated with objects in a multi-tenant database
EP2784665B1|2015-09-16|Program and version control method
Garfinkel2007|Carving contiguous and fragmented files with fast object validation
CA2509462C|2013-02-12|Navigation of the content space of a document set
US10783326B2|2020-09-22|System for tracking changes in a collaborative document editing environment
AU2005225130B2|2010-09-09|Management and use of data in a computer-generated document
AU2006287364B2|2011-03-10|Real-time synchronization of XML data between applications
US9104740B2|2015-08-11|Enhanced attribute synchronization in a content management system
US8521756B2|2013-08-27|Data converting apparatus, method, and computer product
US7752224B2|2010-07-06|Programmability for XML data store for documents
US9619448B2|2017-04-11|Automated document revision markup and change control
US8910044B1|2014-12-09|Playlist incorporating tags
US9659013B2|2017-05-23|System and method for indexing electronic discovery data
US9977672B2|2018-05-22|Attributing authorship to segments of source code
US8589455B2|2013-11-19|Methods and apparatus for content-aware data partitioning
US7493561B2|2009-02-17|Storage and utilization of slide presentation slides
US8660986B2|2014-02-25|Preserving user intent in merging ordered objects
US7617451B2|2009-11-10|Structuring data for word processing documents
US7130867B2|2006-10-31|Information component based data storage and management
US7739309B2|2010-06-15|Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document
KR101169098B1|2012-07-26|소프트웨어 애플리케이션 문서의 데이터 저장소
US7721205B2|2010-05-18|Integration of composite objects in host applications
US7480861B2|2009-01-20|System and method for converting between text format and outline format
US20120084271A1|2012-04-05|Representing and manipulating rdf data in a relational database management system
同族专利:
公开号 | 公开日
BRPI0819718A2|2015-06-16|
RU2010122968A|2011-12-10|
MX2010005934A|2010-06-15|
JP5502745B2|2014-05-28|
TW200925902A|2009-06-16|
KR20100087356A|2010-08-04|
EP2215560A1|2010-08-11|
CN101889276B|2013-06-19|
AU2008335565A1|2009-06-18|
AU2008335565B2|2012-09-27|
TWI379208B|2012-12-11|
RU2481624C2|2013-05-10|
EP2215560A4|2018-01-10|
CN101889276A|2010-11-17|
US20090150394A1|2009-06-11|
US8028229B2|2011-09-27|
WO2009076010A1|2009-06-18|
KR101726879B1|2017-04-13|
MY157581A|2016-06-30|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-11-11| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111110 |
2011-11-11| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111110 |
2013-02-12| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130208 |
2013-04-27| RD13| Notification of appointment of power of sub attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20130426 |
2013-05-09| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130508 |
2013-05-16| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130515 |
2013-05-17| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130426 |
2013-06-11| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130610 |
2013-07-02| RD03| Notification of appointment of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130701 |
2013-07-18| RD04| Notification of resignation of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130717 |
2013-07-18| RD15| Notification of revocation of power of sub attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7435 Effective date: 20130717 |
2013-10-10| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131009 |
2014-02-11| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140210 |
2014-02-18| A911| Transfer to examiner for re-examination before appeal (zenchi)|Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140217 |
2014-03-03| TRDD| Decision of grant or rejection written|
2014-03-06| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140305 |
2014-03-20| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140313 |
2014-03-20| R150| Certificate of patent or registration of utility model|Ref document number: 5502745 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2015-04-17| S111| Request for change of ownership or part of ownership|Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
2015-04-27| R350| Written notification of registration of transfer|Free format text: JAPANESE INTERMEDIATE CODE: R350 |
2017-03-07| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-03-06| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-03-05| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-02-28| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-03-20| LAPS| Cancellation because of no payment of annual fees|
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]